Wireless communication is rapidly growing. For example, peripheral devices and human interface devices (HIDs) are increasingly utilizing wireless communication to communicate with a host computer. Bluetooth (BT) is a wireless protocol and for security it depends on establishing a shared secret (called a link key) between two BT devices/systems. BT protocol uses the link key for authentication, deriving an encryption key from the link key, and using the encryption key to encrypt the information transmitted over the air. The BT link key is typically established via a BT “pairing” process defined in the BT specification. This process involves setting up a BT connection between two BT devices/systems, entering an identical PIN code on both sides, and using the PIN code to derive a shared secret link key.
In addition, through a process called bonding, BT devices/systems can remember the BT address and link keys of other BT devices/systems with which they have been connected before and use this information to quickly recreate a secure connection.
However, wireless HID devices, being essential for the operation of a computer for the first time, suffer from first boot and recovery problems. For example, in a typical first boot problem, a BT device does not initially know to which computer (device address) it should connect. Similarly, in a recovery case, if an existing BT device needs to be replaced, the replacing BT device does not initially know to which computer (device address) it should connect. One conventional solution is to store corresponding bonding information in both the host computer and in the BT device at the time of manufacturing. However, this solution lacks flexibility and does not address the device replacement recovery case.
BT devices also suffer from a complicated pairing scheme. Current BT pairing requires a user to search for BT devices, locate the correct device from a list and enter a PIN code to complete the pairing.
Therefore, there is a need for a device and method to avoid the first boot and recovery problems and provide a more robust connection to and a better compatibility with host computers.